<?
//Überprüfen ob der Abruf über die Hauptseite erfolgt
if(!defined('InStern')) exit;
if($planet[Geb_Handel]==0)
{
  echo "Du besitzt noch kein Handelszentrum";
}
else
{
  //Steuersatz auslesen
  if($spieler[Ally_Rang]>0){
      $db->query("SELECT Steuer_Handel FROM ally WHERE Id='$spieler[Ally_Id]';");
      if($db->num_rows($result)==1) $steuersatz=$db->result(0,"Steuer_Handel");
  } else {
      $steuersatz=0;
  }

  
  $abfrage="SELECT * FROM server WHERE Id=$config[Id];";
  $result=$db->query($abfrage);
  $anzahl= $db->num_rows($result);
  $server = $db->fetch_assoc($result);
  $gesamt=0;

  if(debug)echo "$_POST[resstyp1] vs $_POST[resstyp2]";
  if($_POST['do']=="transver" AND $_POST[acid]==$_SESSION[acid] AND isset($config_ress[$_POST[resstyp1]][name]) AND isset($config_ress[$_POST[resstyp1]][name])) 
  {  
    if(debug) echo "<br>Transver wird durchgeführt";
    if(!$config_ress[$_POST[resstyp1]][handel]) $error="Die erste Ressource ist nicht handelbar";
    elseif(!$config_ress[$_POST[resstyp2]][handel]) $error="Die zweite Ressource ist nicht handelbar";
    elseif($planet["Ress$_POST[resstyp1]"]<$_POST[ress1]) $error= "Du besitzt gar nicht soviele Ressourcen";
    elseif($server["Handel_Ress$_POST[resstyp2]"]<$_POST[ress1]*2) $error="Der Händler hat die Ressourcen nicht mehr auf Lager! Rest:".$server["Handel_Ress$_POST[resstyp2]"];
    else
    {  
      $menge=$_POST[ress1];//Das muss weg
      $menge2=$_POST[ress1]*round($server["Handel_Ress$_POST[resstyp2]"]/$server["Handel_Ress$_POST[resstyp1]"],3);
      //Serverressourcen ändern (kurse werden daraus berechnet)
      $db->query("UPDATE server set Handel_Ress$_POST[resstyp1]=Handel_Ress$_POST[resstyp1]+$_POST[ress1], Handel_Ress$_POST[resstyp2]=Handel_Ress$_POST[resstyp2]-$menge2 WHERE Id=$config[Id];");
      //Abzüge
      $steuer=round($menge2*$steuersatz/100);
      if($steuersatz>0 AND $spieler[Ally_Id]>0) $db->query("UPDATE ally SET Ress$_POST[resstyp2]=Ress$_POST[resstyp2]+$steuer WHERE Id=$spieler[Ally_Id];");
      $menge2=$menge2-($menge2*$config[handel][prozent])-$config[handel][standart]-$steuer;
      $zeit=date(U)+($config[handel][zeit]/$config['Speed']);
      $db->query("UPDATE planet SET Ress$_POST[resstyp1]=Ress$_POST[resstyp1]-$menge WHERE Id='$planet[Id]';");
      $sql="INSERT INTO kommander(Server, Spieler, Name, Auftrag, Start_Planet, Start_X, Start_Y, Ziel_Planet, Ziel_X, Ziel_Y, Ziel_Spieler, Ziel_Zeit, Schiff10, Ress$_POST[resstyp2])
      VALUES($spieler[Server],0,'Händler','handel', 0,0,0,$planet[Id],$planet[PosX],$planet[PosY], $spieler[Id], $zeit,100,$menge2)";
      if(debug) echo $sql;
      $db->query($sql);
      $info="Ressourcen werden verschickt";
    } 
  }
//############################################################################################
//##                              Ressourcengrafik erstellen                                ##
//############################################################################################
$grafik="tmp/chart-$spieler[Server].png";
if(file_exists($grafik)) $last=filemtime($grafik);
else $last=0;
if(date(U)-$last>$config[handel][chart]/$config['Speed'])
{
  $w=500;
  $h=220;
  $top=10;
  $left=30;
  $right=10;
  $bottom=30;
  $border=1;
  $show=20; //Einträge die angezeigt werden
  //Chart-Werte eintragen
  $db->query("INSERT INTO chart(Server, Zeit, Ress1, Ress2, Ress3, Ress4) VALUES($spieler[Server],".date(U).",$server[Handel_Ress1],$server[Handel_Ress2],$server[Handel_Ress3],$server[Handel_Ress4]);")or die($db->query());
  //Alte Chart-Werte löschen
  $anzahl=$db->num_rows($db->query("SELECT * FROM chart WHERE Server=$spieler[Server];"));
  if($anzahl>$show)
    $db->query("DELETE FROM chart WHERE Server=$spieler[Server] ORDER BY Zeit ASC LIMIT ".($anzahl-$show).";");
  $chart=imagecreatetruecolor($w,$h);
  $verdana=imageloadfont("images/verdana.gdf");
  $verdana8=imageloadfont("images/verdana8.gdf");
  
  //Farben definieren
  $background=imagecolorallocate($chart,43,44,59); 
  $black=imagecolorallocate($chart,0,0,0);
  $schrift=imagecolorallocate($chart,255,255,255);
  $dashed=imagecolorallocate($chart,100,100,100);
  $cress[1]=imagecolorallocate($chart,253,195,169);
  $cress[2]=imagecolorallocate($chart,0,18,255);
  $cress[3]=imagecolorallocate($chart,255,7,132);
  $cress[4]=imagecolorallocate($chart,243,208,2);
  
  //Hintergrundfarbe
  imagefill($chart,1,1,$background);
  //---------------Beschriftung
  //vertical
  $gesamt=$server[Handel_Ress1]+$server[Handel_Ress2]+$server[Handel_Ress3]+$server[Handel_Ress4];
  $durchschnitt=$gesamt/4;
  $hoehe=$h-$top-$bottom; //Größe des Charts
  $einheit=round($hoehe/5);
  $pos=0;
  for($y=$h-$bottom;$y>=$top;$y-=$einheit) 
  {
    $str=round($pos,3);
    imagestring($chart,$verdana,(5-strlen($str))*5,$y-5,$str,$schrift);
    $pos+=2/5;
  }
  //Letzten 20 Zahlen auslesen und ausgeben
  $einheit=round(($w-$left-$right)/($show-1));
  //echo $durchschnitt;
  $pixel=$hoehe/($durchschnitt*2);
  $pos=$left;
  $result=$db->query("SELECT * FROM chart WHERE Server=$spieler[Server] Order By Zeit LIMIT $show;");
  while($row=$db->fetch_assoc($result))
  {
    for($i=1;$i<=4;$i++)
    {
      $r[$i]=$top+($row["Ress".$i]*$pixel);
      if($lastX>0)
        imageline($chart,$lastX,$lastY[$i],$pos,$r[$i],$cress[$i]);      
    }
    if($s)
    {
      imagedashedline($chart,$pos,$top,$pos,$h-$bottom,$dashed);
      imagestring($chart,$verdana,$pos-15,$h-$bottom,date("d.m",$row[Zeit]),$schrift);
      imagestring($chart,$verdana,$pos-15,$h-$bottom+10,date("H.i",$row[Zeit]),$schrift);
    }
    if($s) $s=false;
    else $s=true;
    $lastX=$pos;
    $lastY=$r;
    $pos+=$einheit;
  }
  //Grundgerüst zeichen
  imagefilledrectangle($chart,$left,$top,$left+$border,$h-$bottom,$black); //vertical
  imagefilledrectangle($chart,$left,$h-$bottom,$w-$right,$h-$bottom+$border,$black); //horizontal
  //Legende zeichen
  for($i=1; $i<=4;$i++)
  {
    $pos=$left+10+(($i-1)*(($w-$left-$right)/4));
    imagefilledrectangle($chart,$pos-5,$top-6,$pos+90,$top+6,$dashed);
    imageline($chart,$pos,$top,$pos+10,$top,$cress[$i]);
    imagestring($chart,$verdana8,$pos+15,$top-6,$config_ress[$i][name],$schrift);
  }
  ImagePNG($chart,$grafik);
}//Ende generieren der Chart-Grafik

//############################################################################################
//##                              Anzeige des Handelssystems                                ##
//############################################################################################
  echo "<script type=\"text/javascript\">
  var preis=new Array();
  var steuersatz=".intval($steuersatz).";";
  foreach($config_ress AS $key=>$value) 
  {
    if($value[handel]) 
    {
      echo "preis[$key]=".round($server["Handel_Ress$key"]/10000,3).";";
    }
  }
  ?>
  function renew()
  {
    var r1=document.getElementById('resstyp1').value;
    var r2=document.getElementById('resstyp2').value;  
    var error=false;
    //Leiste markieren
    for(i=1;i<=4;i++)
    {
      if(r1==i) klasse="aktiv";
      else klasse="";
      document.getElementById('ress_row'+i).className=klasse;
    }
    if(document.getElementById('input_ress1').value>ress[r1])
    {
      document.getElementById('info').innerHTML='Soviele Ressourcen besitzt du gar nicht';
      document.getElementById('input_ress1').style.color='red';
      error=true;
    }
    else 
    {
      document.getElementById('info').innerHTML='';
      document.getElementById('input_ress1').style.color=null;
    }
    
    
    if(r1>0 && r2>0 && !error&& document.getElementById('input_ress1').value>0)
    {
      var netto=Math.round(document.getElementById('input_ress1').value*preis[r2]/preis[r1]);
      document.getElementById('input_ress2').value=netto;
      var haendler=Math.round(netto*<? echo $config[handel][prozent] ?>);
      document.getElementById('info').innerHTML="Abzüglich:<br> <? echo $config[handel][standart] ?> Einheiten <b>Standardgebühr</b>";
      document.getElementById('info').innerHTML+="<br>"+haendler+" Einheiten <b>Mengengebühr(<? echo ($config[handel][prozent]*100) ?>%)</b>";
      var steuer=Math.round(netto*steuersatz/100);
      if(steuersatz>0) document.getElementById('info').innerHTML+="<br>"+steuer+" Einheiten Allianzsteuer("+steuersatz+"%)";
      //Zuletzt der SubmitButton
      var brutto=netto-haendler-steuer-<? echo $config[handel][standart] ?>;
      document.getElementById('info').innerHTML+="<br>Übrig bleiben: "+brutto+" Einheiten";
      document.getElementById('info').innerHTML+="<br>Flugzeit des Händlers: <?php echo showtime($config[handel][zeit]/$config['Speed'])?>";
      
      if(brutto<0)
        document.getElementById('submitbutton').disabled=true;
      else    
        document.getElementById('submitbutton').disabled=false;
    }
    else document.getElementById('submitbutton').disabled=true;
  }


  <?
  echo "</script>";
  //Actions-Id berechnen
  $_SESSION[acid]=rand(111111111,9999999999);

  echo "<h1>Handelszentrum</h1>";
  if($error!="") echo "<div class=\"error\">$error</div>";
  if($info!="") echo "<div class=\"info\">$info</div>";
  echo "
  <div class=\"content\">
   Die Handelsförderation kümmert sich schon seit einigen tausend Jahren um einen geregelten Handel zwischen Fraktionen und Planeten. 
  </div>
  <div class=\"handelszentrum_chart_head\"><b>Ressourcenentwicklung</b></div>
  <img class=\"handelszentrum_chart\" src=\"$grafik\" alt=\"Chart (Stand: ".date("d.m.Y - H")." Uhr)\" />

  <table class=\"tabelle\" style=\"width:730px; margin-top:30px;\">
   <tr class=\"tabelle_head\">
    <th width=\"80\" align=\"left\"><b>Ressourcenpreise</b></th>";
    $i=0;
    foreach($config_ress AS $key=>$value)
    {
      if($value[handel]) 
      {
        echo "<th width=\"80\"><img src=\"$value[img]\" alt=\"$value[name]\" /></th>";
        $gesamt=$gesamt+$row["Handel_Ress$i"];
        $i++;
      }
    }
    echo "
   </tr>";
   foreach($config_ress AS $key=>$value)
   {
     if($value[handel]) 
     {
       echo "
       <tr id=\"ress_row$key\">
        <th>$value[name]</th>";
        foreach($config_ress AS $key2=>$value2)
        {
          if($value2[handel]) 
          {       
            echo "
            <td align=\"center\">";
             if($key==$key2)
               echo "/";
             elseif($server["Handel_Ress$key2"]<100000) echo "ausverkauft";
             else
             {
               $pro=round($server["Handel_Ress$key2"]/$server["Handel_Ress$key"],3);
               echo " $pro";
             } 
             echo "
            </td>";    
          }
        }
      }   
    }
    echo "
   </tr>
  </table>
  <form action=\"$_SERVER[PHP_SELF]\" method=\"post\">
   <input type=\"hidden\" name=\"do\" value=\"transver\"/>
   <input type=\"hidden\" name=\"acid\" value=\"$_SESSION[acid]\" />
   <table align=\"center\">
    <tr>
     <td>
      Tausche 
      <input type=\"text\" name=\"ress1\" onchange=\"renew()\" id=\"input_ress1\" size=\"5\" value=\"0\" maxlength=\"8 onkeyup=\"renew();\">
     </td>
     <th>
      <select name=\"resstyp1\" id=\"resstyp1\" onchange=\"renew();\">
       <option value=\"0\">bitte wählen</option>";
        foreach($config_ress AS $key=>$value)
          if($value) 
            echo "<option value=\"$key\">$value[name]</option>";
        echo "
      </select>
     </td>
     <td width=\"150px\" align=\"center\">
      <img src=\"images/pfeil.png\" alt=\"tausche gegen\" />
     </td>
     <th>
      <select name=\"resstyp2\" id=\"resstyp2\" onchange=\"renew();\">
       <option value=\"0\">bitte wählen</option>";
        foreach($config_ress AS $key=>$value)
          if($value[handel] AND $server["Handel_Ress$key"]>100000) 
            echo "<option value=\"$key\">$value[name]</option>";
        echo "
      </select>
     </td>
     <td>        
      <input type=\"text\" name=\"ress2\" id=\"input_ress2\" size=\"5\" value=\"0\" readonly=\"true\">
     </td>
     <td>
      <input type=\"submit\" value=\"tauschen\" disabled=\"true\" id=\"submitbutton\">
     </td>
    </tr>       
    <tr>
     <td colspan=\"6\" width=\"400\" height=\"70px\" align=\"center\" id=\"info\"></td>
    </tr>
   </table>
  </form>
  ";
      
}
?>  



  
